import java.awt.*;
import java.awt.image.*;

/**
* Eine Klasse, die nur ein BufferedImage zeichnet. Sie kann zum
* Double-Buffering verwendet werden.
*
* @author Frank Klawonn
* Letzte Aenderung 27.05.2005
*/
public class BufferedImageDrawer extends Frame
{
  //Dieses Bild wird beim Aufruf der paint-Methode gezeichnet.
  public BufferedImage bi;

  //Mit diesem Objekt kann auf bi gezeichnet werden.
  public Graphics2D g2dbi;

  //Das Graphics2D-Objekt, das in der paint-Methode verwendet wird.
  private Graphics2D g2d;

  /**
  * Konstruktor
  */
  public BufferedImageDrawer(BufferedImage buffIm, int width, int height)
  {
    bi = buffIm;
    g2dbi = bi.createGraphics();

    //Ermoeglicht das Schliessen des Fensters
    addWindowListener(new MyFinishWindow());

    this.setTitle("Double-Buffering");
    this.setSize(width,height);
    this.setVisible(true);

  }


  public void paint(Graphics g)
  {
    update(g);
  }


  public void update(Graphics g)
  {
    g2d = (Graphics2D) g;
    g2d.drawImage(bi,0,0,null);
  }


}


